package me.zhengjie.server;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import me.zhengjie.dao.InventoryTaskDao;
import me.zhengjie.dao.MaterialDao;
import me.zhengjie.utils.PageResult;
import me.zhengjie.vo.Inventory.ContainerExtractVo;
import me.zhengjie.vo.Inventory.ContainerMoveVo;
import me.zhengjie.vo.Inventory.InventoryExtractBaseVo;
import me.zhengjie.vo.Inventory.InventoryMoveBaseVo;

import java.util.List;

public interface MaterialService extends IService<MaterialDao> {

    MaterialDao findDataOne(String itemBarCode);

    void deleteByContainerCode(String containerCode);


    List<MaterialDao> findDataList(List<String> itemBarCodeList);

    List<MaterialDao> findDataDao(MaterialDao materialDao);
    boolean updateDataByList(List<String> itemBarCodeList, MaterialDao material);


    void updateInventory(Double material, Double totalOutWeight);


//    Page<ContainerExtractVo> findAvailableExtractData(InventoryExtractBaseVo inventoryExtractBaseVo);
//
//    Page<ContainerMoveVo> findAvailableMoveData(InventoryMoveBaseVo inventoryMoveBaseVo);

    void updateDataByCode(MaterialDao materialDao);

    String getMaterialCodeListStrByContainerCode(String containerCode);

    MaterialDao findItemBarCodeByContainerCode(String containerCode);


    Double countTotalMaterialWeight(String containerCode);

//    PageResult<MaterialDao> queryAll(MaterialDao criteria, Page<Object> page);
}
